// pages/dizhi/dizhi.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    addresses: [{
        name: "梁国瑞",
        phoneNum: "15544217099",
        home: "河南省 郑州市 中原区 去城街道"
      },
      {
        name: "陈晓松",
        phoneNum: "15544217099",
        home: "河南省 郑州市 中原区 去城街道"
      },
    ],
    infor: null,
    radio: '',
  },
  onChange(event) {
    this.setData({
      radio: event.detail,
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取事件通道
    this.eventChannel = this.getOpenerEventChannel();
    if (options.infor) {
      try {
        const infor = JSON.parse(options.infor); // 将 JSON 字符串解析为对象
        this.setData({
          infor
        }); // 存储到 data 中
      } catch (error) {
        console.error('解析 infor 失败:', error);
      }
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 检查是否存在 infor 数据
    if (this.data.infor) {
      // 根据 infor 创建新的地址对象
      const newAddress = {
        name: this.data.infor.contanctPerson,
        phoneNum: this.data.infor.phoneNum,
        home: this.data.infor.area + ' ' + this.data.infor.address, // 组合 area 和 address
      };
      // 将新地址追加到 addresses 数组
      const updatedAddresses = [...this.data.addresses, newAddress];
      // 更新 data
      this.setData({
        addresses: updatedAddresses,
        infor: null, // 清空 infor，防止重复添加
      });
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  // 在页面卸载（返回）时发送选中的地址数据
  onUnload() {
    if (this.data.radio !== '') {
      const selectedAddress = this.data.addresses[this.data.radio];
      this.eventChannel.emit('acceptDataFromDizhi', {
        selectedAddress
      });
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  onClickLeft() {
    wx.navigateBack();
  },
  onClickDelete() {
    console.log("删除");
  },
  navToAdd(e) {
    const index = e.currentTarget.dataset.index;
    if (index !== undefined) {
      // 编辑现有地址
      const address = this.data.addresses[index];
      wx.navigateTo({
        url: `/pages/dizhi/dizhiAdd/dizhiAdd?address=${JSON.stringify(address)}&index=${index}`,
        success: (res) => {
          res.eventChannel.on('updateAddress', (data) => {
            // 更新指定索引处的地址
            const updatedAddresses = [...this.data.addresses];
            updatedAddresses[data.index] = {
              name: data.address.contanctPerson,
              phoneNum: data.address.phoneNum,
              home: data.address.area + ' ' + data.address.address
            };
            this.setData({
              addresses: updatedAddresses
            });
          });
        }
      });
    } else {
      // 添加新地址
      wx.navigateTo({
        url: `/pages/dizhi/dizhiAdd/dizhiAdd`,
        success: (res) => {
          res.eventChannel.on('addAddress', (data) => {
            // 将新地址添加到列表中
            const newAddress = {
              name: data.address.contanctPerson,
              phoneNum: data.address.phoneNum,
              home: data.address.area + ' ' + data.address.address
            };
            this.setData({
              addresses: [...this.data.addresses, newAddress]
            });
          });
        }
      });
    }
  }

})